package com.ktg.mes.pro.service;

import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ktg.mes.util.LService;;
import com.ktg.mes.pro.domain.ProTaskDeviceProcess;

/**
 * 创建生产关联（排产任务，生产设备，工序）Service接口
 *
 * @author byteco
 * @date 2022-11-23
 */
public interface IProTaskDeviceProcessService extends LService<ProTaskDeviceProcess>
{
    /**
     * 查询创建生产关联（排产任务，生产设备，工序）
     *
     * @param id 创建生产关联（排产任务，生产设备，工序）主键
     * @return 创建生产关联（排产任务，生产设备，工序）
     */
    public ProTaskDeviceProcess getInfo(Long id);

    /**
     * 查询创建生产关联（排产任务，生产设备，工序）列表
     *
     * @param entity 创建生产关联（排产任务，生产设备，工序）
     * @param page 分页对象
     * @return 创建生产关联（排产任务，生产设备，工序）集合
     */
    public IPage<ProTaskDeviceProcess> queryPageList(ProTaskDeviceProcess entity, Page<ProTaskDeviceProcess> page);

    /**
     * 查询创建生产关联（排产任务，生产设备，工序）
     *
     * @param entity 创建生产关联（排产任务，生产设备，工序）
     * @return 创建生产关联（排产任务，生产设备，工序）
     */
    public List<ProTaskDeviceProcess> queryList(ProTaskDeviceProcess entity);

    /**
     * 新增创建生产关联（排产任务，生产设备，工序）
     *
     * @param entity 创建生产关联（排产任务，生产设备，工序）
     * @return 结果
     */
    public void insert(ProTaskDeviceProcess entity);

    /**
     * 修改创建生产关联（排产任务，生产设备，工序）
     *
     * @param entity 创建生产关联（排产任务，生产设备，工序）
     * @return 结果
     */
    public boolean update(ProTaskDeviceProcess entity);

    /**
     * 批量删除创建生产关联（排产任务，生产设备，工序）
     *
     * @param recorids 需要删除的创建生产关联（排产任务，生产设备，工序）主键集合
     * @return 结果
     */
    public boolean delete(Long[] recorids);

    /**
     * 创建或者查找已经存在的数据
     * @param batchNo
     * @param processId
     * @param deviceCode
     * @param type
     * @return
     */
    public Object initOrFind(String batchNo,Long processId,String deviceCode,String type);

    /**
     * 删除创建生产关联（排产任务，生产设备，工序）信息
     *
     * @param recorid 创建生产关联（排产任务，生产设备，工序）主键
     * @return 结果
     */
    public boolean delete(Long recorid);
}
